<?php
// 批量更新版权信息脚本
// 本脚本用于将源码中的所有版权信息改成年份+慕念科技，年份自动检测

// 获取当前年份\$current_year = date('Y');

// 定义需要修改的文件列表
\$files_to_update = [
    'd:\订单自主查询系统\config.php',
    'd:\订单自主查询系统\install.php',
    'd:\订单自主查询系统\install\db_init.sql',
    'd:\订单自主查询系统\README.md',
    'd:\订单自主查询系统\includes\update_admin_table.php',
    'd:\订单自主查询系统\README_FIX.md',
    'd:\订单自主查询系统\public\index.php',
    'd:\订单自主查询系统\install\show_admin_info.php',
    'd:\订单自主查询系统\functions.php',
    'd:\订单自主查询系统\admin\admin_login.php',
    'd:\订单自主查询系统\admin\admin.php'
];

// 定义版权信息的正则表达式模式
\$patterns = [
    // 注释中的版权声明模式
    '/(\/\/\s*版权所有\s*©\s*)\d{4}(\s*慕念科技\.\s*保留所有权利\.)/' => '\1' . \$current_year . '\2',
    // SQL注释中的版权声明模式
    '/(--\s*版权所有\s*©\s*)\d{4}(\s*慕念科技\.\s*保留所有权利\.)/' => '\1' . \$current_year . '\2',
    // HTML中的版权声明模式1
    '/(©\s*)\d{4}(\s*慕念科技\s*版权所有)/' => '\1' . \$current_year . '\2',
    // HTML中的版权声明模式2
    '/(©\s*)\d{4}(\s*订单自主查询系统\s*\|\s*慕念科技)/' => '\1' . \$current_year . '\2',
    // HTML中的版权声明模式3
    '/(©\s*)\d{4}(\s*订单自主查询系统)/' => '\1' . \$current_year . '\2',
    // README中的版权声明模式
    '/(©\s*)\d{4}(\s*订单自主查询系统\s*-\s*让快递查询更简单！)/' => '\1' . \$current_year . '\2',
    // README_FIX中的版权声明模式
    '/(订单自主查询系统\s*©\s*)\d{4}(\s*版权所有)/' => '\1' . \$current_year . '\2'
];

// 遍历文件列表，逐个更新
\$updated_files = 0;
foreach (\$files_to_update as \$file_path) {
    if (file_exists(\$file_path)) {
        // 读取文件内容
        \$content = file_get_contents(\$file_path);
        \$original_content = \$content;
        
        // 应用所有的替换模式
        foreach (\$patterns as \$pattern => \$replacement) {
            \$content = preg_replace(\$pattern, \$replacement, \$content);
        }
        
        // 如果内容有变化，写回文件
        if (\$content !== \$original_content) {
            file_put_contents(\$file_path, \$content);
            \$updated_files++;
            echo "已更新: \$file_path\n";
        }
    } else {
        echo "文件不存在: \$file_path\n";
    }
}

// 输出更新结果
echo "\n版权信息更新完成！";
echo "\n总共更新了 \$updated_files 个文件的版权年份为 \$current_year。";
echo "\n\n提示：为了确保所有版权信息都已更新，建议手动检查一下系统中的其他文件。";
echo "\n\n按任意键退出...";

// 等待用户按键退出（仅在命令行运行时有效）
if (PHP_SAPI === 'cli') {
    fgets(STDIN);
}